In recent years, magnetic cards such as credit cards have been shifted to semiconductor memory cards. The reason is semiconductor memory cards have not only a larger memory capacity than magnetic cards, but also have enhanced security functions in order to prevent leakage of stored information, such as personal information. An IC card is an example of a semiconductor memory card with a function to protect the stored data.
IC cards can be classified into a contact type and a contactless type depending on communication configuration between the IC card and the reader/writer. A contactless IC card is an IC card which sends and receives data using low-intensity radio waves transmitted from the reader/writer. The contactless IC card is hereinafter simply referred to as “IC card”.
FIG. 1 is a diagram showing an example of hardware configuration of a typical IC card. The IC card shown in FIG. 1 includes a ROM 201 which stores a program, a Ferroelectric Random Access Memory (FeRAM) 202 which is a non-volatile memory for storing temporary data which are used when executing a program, and data written from outside, an antenna 203 which is an interface (I/F) for external communications, and a CPU 200 for controlling various command processing and the like based on the program stored in the ROM 201.
The CPU 200 further includes an Arithmetic and Logic Unit (ALU) 204 which is a circuit for arithmetic processing, and a register 205 which is a memory element that holds calculated values and execution statuses.
Conventionally, an IC card has only been required to perform a single simple service processing, such as electronic money and the like. However, with the recent introduction of advanced authentication technologies, such as biometric authentication, more complex processing needs to be performed. In the case where a complex processing is performed, more time is necessary to continue communication with a reader/writer than the case where simple processing is performed.
It is also noted that recent IC cards can execute plural application programs (hereinafter simply referred to as “programs”) each corresponding to plural services, because processing of plural services is required. IC cards can use services provided by a server through communication with a reader/writer connected to the server which is a host computer that provides the services.
Here, it is a characteristic of a contactless IC card that the electric voltage is provided from electric waves transmitted from the reader/writer. This causes voltage supply interruption, and the processing is reset when the IC card moves away from the reader/writer.
Thus, in order to continue processing in an environment where the voltage supply is unstable, a method to resume processing after voltage supply resumes by configuring all registers and RAMs with non-volatile memory FeRAM has been introduced.